package com.nidu.demo.oauth2.dto;

import com.nidu.demo.base.BaseCO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "Oauth2刷新令牌客户端对象")
public class OAuth2RefreshTokenCO extends BaseCO {

    /**
     * 主键ID
     */
    @Schema(description = "主键ID", example = "主键ID")
    private Long id;

    /**
     * 访问令牌值
     */
    @Schema(description = "访问令牌值", example = "access_token123")
    private String accessToken;

    /**
     * 令牌类型（如Bearer）
     */
    @Schema(description = "令牌类型（如Bearer）", example = "Bearer")
    private String tokenType;

    /**
     * 过期时间（秒）
     */
    @Schema(description = "过期时间（秒）", example = "3600")
    private Integer expiresIn;

    /**
     * 刷新令牌ID
     */
    @Schema(description = "刷新令牌ID", example = "refresh_token123")
    private String refreshTokenId;

    /**
     * 客户端ID
     */
    @Schema(description = "客户端ID", example = "client123")
    private Long clientId;

    /**
     * 用户ID
     */
    @Schema(description = "用户ID", example = "user123")
    private String userId;

}